package course.d1230;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/*
     1.8新特性：Lambda表达式：
     Lambda表达式语法非常简洁，完全没有面对对象复杂的束缚
     使用前提：
     1.使用Lambda表达式必须具有接口，且要求接口中有且仅有一个抽象方法
     无论JDK内置的Runnable，Comparator接口还是自定义的接口，只有当接口中的方法存在，且只有一个时
     2.使用Lambda表达式必须具有上下文推断，也就是方法的参数或局部变量的参数必须为Lambda表达式对应的接口类型

     注意：有且仅有一个抽象方法的接口，称为"函数式接口"
     标准格式：
     （参数列表）—>{重写抽象方法的代码}

     可以省略的内容：
     1.（参数列表）：括号中参数列表的数据类型，可以省略不写
     2.（参数列表）：如果圆括号内只有一个参数，那么类型和（）都可以省略
     3.（一些代码）：如果{}中代码只有一行，无论是否有返回值，都可以省略（{}，return，分号）
     注意：要省略{}，return，分号一起省略


 */
public class a1 {
    public static void main(String[] args) {
        List<String> list= new ArrayList<>();
        list.add("a");
        list.add("c");
        list.add("b");
        Collections.sort(list,String::indexOf);
        System.out.println(list);

    }
}
